int minPartitions(char * n){
    int max = -1;
    int len = strlen(n);
    int i;
    for(i = 0; i < len; i++) {
        if(n[i] - '0' > max) {
            max = n[i] - '0';
        }
    }
    return max;
    //前面说过，计数排序利用了桶的思想。桶排序是基于计数排序的一种优化，它本身也是一种思想

    /* 
        通过前面的计数排序的学习，发现它和我们传统排序算法很不一样，它不是基于比较的。基于比较的线性排序的时间复杂度基本上被锁死了，不论是快排，还是堆排序，还是归并排序等等，其时间复杂度都被锁死了，全部都是O( nlogn )的复杂度

        而桶的思想打破了这一个怪圈，以计数排序为例，它将相等的数据放在同一个桶中，桶中元素根本不用进行比较。但其缺点也很明显，每个计数排序申请的额外空间跨度从最小元素值到最大元素值，若待排序集合中元素不是依次递增的，则必然有空间浪费情况。

        桶排序则是弱化了这种浪费情况，将最小值到最大值之间的每一个位置申请空间，更新为最小值到最大值之间每一个固定区域申请空间，尽量减少了元素值大小不连续情况下的空间浪费情况。

     */
}